commit message
最近一人で開発してることが多く、めちゃくちゃ雑になっているmrsekut.icon
こういうのは他人のわけわからんcommit messageを見てブチギレが起きないとモチベが上がらない
commit messageに書くべきかコメントに書くべきかを検討する 何のために書くのか
他の人が読んで意図がわかる
未来の自分が読んで意図がわかる
過去を遡る時に調査、特定がしやすくなる
変更した理由を書く
feat: 〇〇なため、△△を追加
どの様にコードを変更したのかは差分を見ればわかるが、変更理由はわからない
議論の上に出した変更なのか、急いで一次対応したのかは、変更だけ見てもわからない
具体的で単一な理由を書く
feat: 新しい機能
fix: バグの修正
docs: ドキュメントのみの変更
style: 空白、フォーマット、セミコロン追加など
refactor: 仕様に影響がないコード改善(リファクタ)
perf: パフォーマンス向上関連
test: テスト関連
chore: ビルド、補助ツール、ライブラリ関連
Prefixが多いほうが詳細に分類できるが、運用が難しくなるので、このぐらいの種類数が限界だろうなmrsekut.icon
ライブラリ
悪い例
「複数のバグを修正した」
commitを分けて変更理由を書こうね
「不具合修正」
何の不具合をどういう理由で直したのか書こうね
参考
思うこと
議論と言うほど議論(というか論争)にはなっていないが、
「工夫しました」が散見されるあたり、そもそものcommitメッセージの在り方に問題がある気はしているmrsekut.icon
単純に書くのがだるい
適切なcommitメッセージを考えることで、開発がブロックされる
単純にmrsekut.iconの運用方法が悪いだけかも知れない
staging areaが一つしか無いのが問題かも知れない
prefixに絵文字を使おう、みたいなのも愚の骨頂な感じする
日本人チームでやっているなら日本語で書いたほうが良いと思うmrsekut.icon
単純に読み慣れている
英語力の差によって解釈違いが出づらい
英語よりも密度が高いので同じ文字数でより多くのことを伝えられる
一行目には要求仕様を書け
良くないコミットメッセージの例:
ユーザが正しくログインできないバグを修正した
サムネイル画像の表示法を変更した
「修正した」「変更した」は大概のcommitがそうなので、それをわざわざ書くのは冗長
プログラムを主語とする動詞句 で書くべき
プログラマを主語にして書くな
そのコミットによってプログラムはどんな要件を満たすのか、を書く
良い例
20 文字より長いログインパスワードを認める
パスワード変更後データベースをキャッシュし直す
サムネイル画像が現れる時アニメーションさせる
200x200 px より大きいサムネイル画像を切り落とす
プログラムに命令する口調で書け
↑この記事は全体的に余り共感できないmrsekut.icon
上手く当てはまらないケースが多すぎる気がする
mrsekut.iconのcommitの作り方が悪いのか?
1行で済ますことが多いけど、詳細の方はどのぐらい頻繁に書くべきか?
書いたほうがわかりやすいなら、毎回でも書くべきmrsekut.icon
このrepositoryは全体的にわかりやすい、という感じの例ないかな?